/*
 * Copyright (c) 2024. hallele, Inc All rights reserved.
 */

package cn.hallele.ms.usercenter.application.action.tenant;

import cn.hallele.mc.sdk.usercenter.common.enums.TenantStatusEnum;
import cn.hallele.ms.usercenter.application.bo.TenantBO;
import cn.hallele.ms.usercenter.application.das.TenantBDDas;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * hallele_ms_usercenter
 *
 * @author anle5
 * @since 2024/10/13 14:32
 */
@Slf4j
@Service
public class TenantApplicationService {
    @Autowired
    private TenantBDDas tenantBDDas;

    /**
     * 查询所有
     *
     * @param condition 查询条件
     * @return 所有租户
     */
    public List<TenantBO> findAll(TenantBO condition) {
        return tenantBDDas.findAll(condition);
    }

    /**
     * 分页查询
     *
     * @param name   名字
     * @param status 状态
     * @return 分页结果
     */
    public List<TenantBO> findByNameLikeAndStatus(String name, TenantStatusEnum status) {
        return tenantBDDas.findByNameLikeAndStatus(name, status);
    }

    /**
     * 通过id查询记录
     *
     * @param id id
     * @return 满足要求的 数据
     */
    public TenantBO findOneById(Integer id) {
        return tenantBDDas.findOneById(id);
    }

    /**
     * 通过ids删除记录
     *
     * @param ids ids
     */
    public void deleteByIdIn(List<Integer> ids) {
        tenantBDDas.deleteByIdIn(ids);
    }

    /**
     * 更新 tenant
     *
     * @param tenantBO 更新数据
     */
    public void updateOne(TenantBO tenantBO) {
        tenantBDDas.updateOne(tenantBO);
    }

    /**
     * 添加 tenant
     *
     * @param tenantBO 添加数据
     */
    public void addOne(TenantBO tenantBO) {
        tenantBDDas.addOne(tenantBO);
    }
}
